// 解构赋值。解析数组或对象数据，并赋值给一个或者多个变量
// var arr=[1,2,3]
// var [...arr1]=arr
// console.log(arr1) //[ 1, 2, 3 ]

// 对象解构赋值 根据属性名赋值
let student={name:"zs",age:18}

// 要什么拿什么
// let {age}=student
// console.log(age) //18

// 一一对应
let {name,age}=student
console.log(name,age) // zs 18

// let{a,b}=student
// console.log(a,b) //undefined undefined

// // 多拿变量只定义未赋值默认undefined
// let {name,age,gender}=student
// console.log(name,age,gender) //zs 18 undefined

// // 数组解构赋值，根据位置赋值
let arr=[1,3,5,'abc',true]
// // 全部解构
// let [a,b,c,d,e,f]=arr
// console.log(a,b,c,d,e,f) //1 3 5 'abc' true

// // 多解构出现undefined
// let [a,b,c,d,e,f]=arr
// console.log(a,b,c,d,e,f) //1 3 5 'abc' true undefined

// 少解构根据位置赋值
// let [a,b]=arr
// console.log(a,b) //1 3

let [,,,a,b]=arr
console.log(a,b) //abc true

// 应用 给多个形参赋值
function foo({name,age}){
    console.log(name,age)
}
foo(student)
